import { RefactoringType } from "./RefactoringType";

export enum NodeType {
  TreeNode,
  FileNode,
  RefactorTypeNode,
  RefactorNode,
}

export enum RefactorTypeForClassification {
  MethodRefactorings = "方法重构",
  ConstructorRefactorings = "构造函数重构",
  FieldValueRefactorings = "域内变量重构",
  TypeDeclarationRefactorings = "类型声明重构",
}

export type NodeDataType = {
  nodeType: NodeType;
  pathString: string;
  isBase: boolean;

  refactorType?: RefactoringType[];
  refactorTypeForClassification?: RefactorTypeForClassification;
  baseRanges?: Range[];
  modifiedRanges?: Range[];
};
